package com.ruibang.glass.quality.mapper;

import com.ruibang.glass.quality.domain.req.DefectSizeDataReq;
import com.ruibang.glass.quality.domain.req.DiscardDefectDataReq;
import com.ruibang.glass.quality.domain.req.DiscardDefectReq;
import com.ruibang.glass.quality.entity.DictEntity;
import com.ruibang.glass.quality.entity.DiscardDefectData;
import com.teaming.cloud.framework2.autoconfigure.mybatisplus.mapper.CommonMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;
@Mapper
public interface DiscardDefectDataMapper extends CommonMapper<DiscardDefectData> {
    List<DiscardDefectData> queryDefectMapData(DiscardDefectDataReq discardDefectDataReq);

    List<DictEntity> getBubbleAll();

    List<DictEntity> getPTAll();

    void deleteByDate(DiscardDefectReq defectReq);

    List<DiscardDefectData> queryAllDefectMapData(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

    List<DiscardDefectData> queryLayeredPointDataReq(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

    List<DiscardDefectData> queryDefectSizeData(DefectSizeDataReq defectSizeDataReq);

    List<DictEntity> getDefectList();

    List<DiscardDefectData> queryAllDefectSizeData(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

}
